﻿-- =============================================  
-- Author:  Joel Coronado Cura.  
-- Create date: 21/03/2012  
-- Description: Inserta o modifica un registro de la tabla de Estudios  
-- =============================================  
CREATE PROCEDURE [dbo].[spGuardaEstudio](  
 @pnIdLaboratorio INT,  
 @pnIdEstudio  INT,  
 @psNombreEstudio VARCHAR(500),  
 @pnEsGenerico  INT,  
 @pnPrecio   NUMERIC(22,4),  
 @pnIdUsuarioMod  INT,  
 @psIpMod   VARCHAR(15)  
)  
AS  
BEGIN  
 SET NOCOUNT ON;  
 DECLARE @nFolio BIGINT,  
   @nIdUsuario INT  
    
 IF @pnIdEstudio IS NULL  
 BEGIN  
  EXEC spObtenerFolio 1, @nFolio OUT  
  INSERT INTO CatEstudio(IdEstudio, IdLaboratorio, NombreEstudio, EsGenerico, Precio, FechaMod, IdUsuarioMod, IpMod)  
  VALUES(@nFolio,@pnIdLaboratorio, @psNombreEstudio, @pnEsGenerico, @pnPrecio, GETDATE(), @pnIdUsuarioMod, @psIpMod);  
    
  SELECT @pnIdEstudio = @nFolio;  
 END  
 ELSE  
 BEGIN  
  UPDATE dbo.CatEstudio  
  SET  NombreEstudio = @psNombreEstudio,  
    EsGenerico  = @pnEsGenerico,  
    Precio   = @pnPrecio,  
    FechaMod  = GETDATE(),  
    IdUsuarioMod = @pnIdUsuarioMod,  
    IpMod   = @psIpMod  
  WHERE IdEstudio  = @pnIdEstudio  
  AND  IdLaboratorio = @pnIdLaboratorio;  
 END  
    
 SELECT @pnIdEstudio AS IdEstudio  
   
 SET NOCOUNT OFF;  
END